home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2000 #5 / Amiga Plus CD - 2000 - No. 5.iso / Tools / Dev / GameboyDev / GBDK / lib / atol.c < prev    next >
Encoding:
C/C++ Source or Header  |  1999-03-29  |  366 b   |  23 lines

  1. #include <stdlib.h>
  2.  
  3. WORD atol(char *s)
  4. {
  5.   UBYTE i, sign = 0;
  6.   WORD n;
  7.  
  8.   for(i = 0; (s[i] == ' ') || (s[i] == '\n') || (s[i] == '\t'); ++i)
  9.     ;
  10.   switch(s[i])
  11.     {
  12.     case '-':
  13.       sign++;
  14.       /* and fall through */
  15.     case '+':
  16.       ++i;
  17.       break;
  18.     }
  19.   for(n = 0; isdigit(s[i]); ++i)
  20.     n = 10 * n + s[i] - '0';
  21.   return (sign == 0 ? n : -n);
  22. }
  23.